// 这里是个人中心相关的几个接口
const express = require('express')
const utility = require('utility')
const router = express.Router()

const abc = require('./03.封装一个连接数据库的方法')

// 获取用户信息
router.get('/userinfo', async (req, res) => {
  console.log(req);
  console.log(req.user);
  // abc('select * from user where id=?', req.user.userId, (err, result) => {
  //   if (err) {
  //     res.send({ status: 1, message: '获取用户信息失败'})
  //   } else {
  //     // console.log(123);
  //     res.send({ status: 0, message: '获取用户信心成功', data: result[0]})
  //   }
  // })
  let r = await abc('select * from user where id=?', req.user.userId)
  if (r && r.length > 0) {
    res.send({status: 0, message: '获取用户信息成功', data: r[0]});
}
})

// 更新用户信息
router.post('/userinfo', async (req, res) => {
  let sql = 'update user set ? where id=?';
  let r = await abc(sql, [req.body, req.body.id]);
  if (r && r.affectedRows > 0) {
      res.send({status: 0, message: '更新用户信息成功'});
  }
});

// 重置用户密码
router.post('/updatepwd', async(req, res)=> {
  console.log(req.body);
  let oldPwd = utility.md5(req.body.oldPwd)
  let newPwd = utility.md5(req.body.newPwd)
  // 判断原密码是否正确
  // abc('select * from user where password=? and id=?', [oldPwd, req.user.userId], (err, result)=> {
  //   if (err) {
  //     res.send({ status: 1,message: '登录错误'})
  //   } else {
  //     if (result.length > 0) {
  //       // 说明原密码正确,可以更新密码
  //       abc('update user set password=? where id=?', [newPwd, req.user.userId], (e, q)=>{
  //         if (e) {
  //           res.send({status: 1,message: '登录错误'})
  //         } else {
  //           res.send({ status: 0, message: '更新成功' })
  //         }
  //       })
  //     }  else {
  //       res.send({status: 1,message: '原密码错误'})
  //     }
  //   }
  // })
  let r1 = await abc('select * from user where password=? and id=?', [oldPwd, req.user.userId])
  if (r1 && r1.length > 0){
    let r2 = await abc('update user set password=? where id=?', [newPwd, req.user.userId])
    if (r2 && r2.affectedRows > 0) {
      res.send({status: 0, message: '更新密码成功'});
    } else {
      res.send({status: 1,message: '原密码错误'})
    }
  }
})
// 更换头像
router.post('/update/avatar', async(req, res) => {
  // 客户端一会就提交 avatar 过来了。
  // 1. 接收 avatar 这个字符串 （req.body.avatar）
  // console.log(req.body) // { avatar: 'asdfasdfasdf' }
  // 2. 更新改用户的数据即可
  // abc('update user set user_pic=? where id=?', [req.body.avatar, req.user.userId], (err, result) => {
  //     if (err) {
  //         res.send({ status: 1, message: '更换失败' });
  //     } else {
  //         res.send({ status: 0, message: '更换成功' });
  //     }
  // })
  let r = await abc('update user set user_pic=? where id=?', [req.body.avatar, req.user.userId])
  if (r && r.affectedRows > 0) {
    res.send({status: 0, message: '更换头像成功'});
  }
});


module.exports = router